package com.ktgj.flight.domain.InterfaceEntity;

import com.ktgj.flight.domain.FlightOrderInvoice;
import com.ktgj.flight.domain.FlightOrderIternary;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class MoCreateOrderRequest extends MoRequest implements Serializable {
    public MoCreateOrderRequest()
    {
        ListMoPassenger = new ArrayList<MoPassenger>();
        ListGoSegment = new ArrayList<MoSegment>();
        ListBackSegment = new ArrayList<MoSegment>();
        Contacts = new MoContacts();
        products = new ArrayList<>();
    }
    public String orderMobile;

    public String orderName;

    public String orderCardNo;
    public String orderCardType;

    public String jsjId;

    /**
     * 内部系统订单ID
     */
    public String OrderID;

    /**
     * 流程编号
     */
    public String FlowID;

    /**
     * 航线类型  1:单程 2：往返 3：单程及往返
     */
    public int TripType;

    /**
     * 政策ID
     */
    public String PolicyID;

    /**
     * 是否需要行程单
     */
    public Boolean IsNeedPost;

    /**
     * 乘机人列表
     */
    public List<MoPassenger> ListMoPassenger;

    /**
     * 去程航段列表
     */
    public List<MoSegment> ListGoSegment;

    /**
     * 回程航段列表
     */
    public List<MoSegment> ListBackSegment;

    /**
     * 联系人信息
     */
    public MoContacts Contacts;

    /**
     * AirShoppingRS中返回的offerID
     */
    public String OfferRefID;

    /**
     * 渠道类型
     */
    public int channelType;

    /**
     * 辅营产品
     */
    public List<AuxiliaryProducts> products;

    /**
     * 优惠券id
     */
    public Long couponId;

    /**
     * 是否使用金币
     */
    public boolean useDeposit;

    /**
     * 金币
     */
    public BigDecimal deposit;

    /**
     * 是否使用积分
     */
    public boolean usePoint;

    /**
     * 积分
     */
    public BigDecimal point;

    /**
     * 支付价
     */
    public BigDecimal payamount;

    /**
     * 总票价
     */
    public BigDecimal totalPay;

    /**
     * 经停或中转次数
     */
    public Long stopCount;

    /**
     * 期望出票时间
     */
    public Date expectOutTime;

    /**
     * 订单来源
     */
    public String sourceTypeId;

    /**
     * 会员id
     */
    public Long customerId;

    /**
     * pnr
     */
    public String pnr;

    /**
     * 大编
     */
    public String bigPnr;

    /**
     * 行动代码
     */
    public String actionCode;

    /**
     * 机票订单行程单
     */
    public FlightOrderIternary iternary;

    /**
     * 机票订单发票
     */
    public FlightOrderInvoice invoice;
}

